home *** CD-ROM | disk | FTP | other *** search
- package java.lang;
-
- import java.nio.ByteBuffer;
- import java.nio.CharBuffer;
- import java.nio.charset.CharacterCodingException;
- import java.nio.charset.Charset;
- import java.nio.charset.CharsetEncoder;
- import java.nio.charset.CoderResult;
- import java.nio.charset.CodingErrorAction;
- import sun.nio.cs.HistoricallyNamedCharset;
-
- class StringCoding$StringEncoder {
- // $FF: renamed from: cs java.nio.charset.Charset
- private Charset field_0;
- // $FF: renamed from: ce java.nio.charset.CharsetEncoder
- private CharsetEncoder field_1;
- private final String requestedCharsetName;
-
- private StringCoding$StringEncoder(Charset var1, String var2) {
- this.requestedCharsetName = var2;
- this.field_0 = var1;
- this.field_1 = var1.newEncoder().onMalformedInput(CodingErrorAction.REPLACE).onUnmappableCharacter(CodingErrorAction.REPLACE);
- }
-
- String charsetName() {
- return this.field_0 instanceof HistoricallyNamedCharset ? ((HistoricallyNamedCharset)this.field_0).historicalName() : this.field_0.name();
- }
-
- final String requestedCharsetName() {
- return this.requestedCharsetName;
- }
-
- byte[] encode(char[] var1, int var2, int var3) {
- int var4 = StringCoding.access$000(var3, this.field_1.maxBytesPerChar());
- byte[] var5 = new byte[var4];
- if (var3 == 0) {
- return var5;
- } else {
- this.field_1.reset();
- ByteBuffer var6 = ByteBuffer.wrap(var5);
- CharBuffer var7 = CharBuffer.wrap(var1, var2, var3);
-
- try {
- CoderResult var8 = this.field_1.encode(var7, var6, true);
- if (!var8.isUnderflow()) {
- var8.throwException();
- }
-
- var8 = this.field_1.flush(var6);
- if (!var8.isUnderflow()) {
- var8.throwException();
- }
- } catch (CharacterCodingException var9) {
- throw new Error(var9);
- }
-
- return StringCoding.access$300(var5, var6.position(), this.field_0);
- }
- }
-
- // $FF: synthetic method
- StringCoding$StringEncoder(Charset var1, String var2, StringCoding.1 var3) {
- this(var1, var2);
- }
- }
-